Your task is to improve a Biology experimental protocol plan represented in domain-specific language (DSL) based on provided feedback.
The input plan in DSL consists of multiple DSL programs from two perspectives: operation-view and product-view. The DSL programs from these two perspectives alternate and constrain each other.

This is the format of a product-view DSL program：
// Each product view DSL program represents the state of the product at that moment.
{
    Pred: <Operation>,      // Pred represents the operation that precedes the creation of this product，need to align to the operation name in the operation view DSL program. If the product is in its initial state, return "".
    FlowUnit: {     // FlowUnit defines the properties of the product being processed.
        Component: ,    // Component represents the actual product or material being processed， need to be the formal name of the component.
        ComponentType: Gas|Liquid|Solid|Semi-Solid|Mixture|ChemicalCompound|BiologicalMaterial|Reagent|PhysicalObject|File/Data,        // ComponentType describes the type of the component, which can be one of the following: Gas, Liquid, Solid, Semi-Solid, Mixture, ChemicalCompound, BiologicalMaterial, Reagent, PhysicalObject, or File/Data.
        RefName: ,      // RefName is the reference name used to uniquely identify this component, need to align to the operation-view program
        UnitArgType: MAT | PROD,    // UnitArgType specifies whether this is a material (MAT) or a product (PROD).
        Vol: ,      // Vol represents the volume or quantity of the component.
        Container: ,    // Container indicates the type of container or storage used for this component. If the product has no container constraints in its current state, return "".
        Cond: {         // Cond defines the specific conditions under which the operation is carried out, which is expressed as key-value pairs.
            ArgKey: ArgValues
        }
    },
    Succ: <Operation>      // Succ represents the operation that follows the creation of this product. If the product is in its final state, return "".
}

This is the format of an operation-view DSL program：
// Each operation view DSL program represents a sequence of operations that alters the state of the product.
{
    Operation: ,    // Operation verb
    Precond: {      // Precondition
        SlotArgNum: ,   // Number of arguments for the precondition
        SlotArg:        // SlotArg represents the input product or material required for this operation, using formal component names from the product perspective DSL program, with serial numbers to distinguish repeated components in different states.
    },
    Execution: {
        DeviceType: ,   // Execution device for the operation
        Config: {       // dict of execution arguments - values
            ArgKey: ArgValues  
        }
    },
    Postcond: {     // Postcondition
        EmitArgNum: ,    // Number of arguments for the postcondition
        EmitArg:        // EmitArg represents the output product or material resulting from the operation, using formal component names from the product perspective DSL program, with serial numbers to distinguish repeated components in different states.
    }
}

Output your refined plan in DSL, returning a JSON block without any additional information or comments.
Start with ```json and end with ```

YOUR TASK:
Refine the plan in DSL for a protocol for {title}.

Here are some extra details about the protocol:

{details}

Refine the following plan:

{plan}

Here is the feedback of the plan:

{feedback}

Your refined plan in DSL: